﻿''' <summary>
''' 
''' </summary>
''' <remarks></remarks>
Public Class VMBase
    Implements ComponentModel.INotifyPropertyChanged
    Implements ComponentModel.INotifyPropertyChanging

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <param name="propname"></param>
    ''' <remarks></remarks>
    Protected Sub OnPropertyChanged(ByVal propname As String)
        RaiseEvent PropertyChanged(Me, New ComponentModel.PropertyChangedEventArgs(propname))
    End Sub

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <param name="propname"></param>
    ''' <remarks></remarks>
    Protected Sub OnPropertyChanging(ByVal propname As String)
        RaiseEvent PropertyChanging(Me, New ComponentModel.PropertyChangingEventArgs(propname))
    End Sub

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Public Event PropertyChanged(ByVal sender As Object, ByVal e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Public Event PropertyChanging(ByVal sender As Object, ByVal e As System.ComponentModel.PropertyChangingEventArgs) Implements System.ComponentModel.INotifyPropertyChanging.PropertyChanging
End Class
